package com.hyzx.qbasic.admin.domain.service;

import com.github.pagehelper.PageInfo;
import com.hyzx.qbasic.admin.model.dto.AdminUserInfo;
import com.hyzx.qbasic.admin.model.dto.AdminUserToken;
import com.hyzx.qbasic.admin.model.po.AdminUserInfoPO;
import com.hyzx.qbasic.admin.model.po.AdminUserPO;
import com.hyzx.qbasic.admin.model.vo.req.admin.*;
import com.hyzx.qbasic.admin.model.vo.res.BaseOperationRes;

import java.util.List;

/**
 * Created by 黄江华 on 2017/9/21.
 */

public interface IAdminUserService {

    AdminUserToken getUserToken(String userName);

    AdminUserInfo getUserInfo(int userId);

    AdminUserPO getFullUserInfo(String userName);

    PageInfo<AdminUserInfoPO> getPagedUserList(GetUserListReq req);

    BaseOperationRes addUser(AddUserReq req);

    BaseOperationRes deleteUser(DeleteUserReq req);

    BaseOperationRes editUser(EditUserReq req);

    BaseOperationRes resetPass(ResetPassReq req);

    BaseOperationRes changePass(ChangePassReq req);

    List<AdminUserInfoPO> getPermittedUserList(String permission);

    List<AdminUserInfoPO> getMultiUserInfo(List<Integer> userIdList);
}
